﻿// 5271. 易变数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://www.acwing.com/problem/content/5274/


我们定义以下正整数变形操作。

对于一个正整数 x
，如果其二进制表示恰好包含 y
 个 1
，那么经过一次变形操作后，x
 将变为 y
。

例如，对于正整数 13
，其二进制表示为 1101，其中恰好包含 3
 个 1
，所以 13
 经过一次变形操作后会变为 3
。

如果一个正整数通过上述变形操作变为 1
 所需要的最少操作次数恰好为 k
，那么就称这个数是一个易变数。

给定一个正整数 n
 的不含前导 0
 的二进制表示，请你计算 [1,n]
 范围内的易变数的数量。

由于结果可能很大，你只需要输出对 109+7
 取模后的结果。

输入格式
第一行包含正整数 n
 的不含前导 0
 的二进制表示。

第二行包含非负整数 k
。

输出格式
一个整数，表示 [1,n]
 范围内的易变数的数量对 109+7
 取模后的结果。

数据范围
前 5
 个测试点满足 1≤n<210
。
所有测试点满足 1≤n<21000
，0≤k≤1000
。

输入样例1：
110
2
输出样例1：
3
输入样例2：
111111011
2
输出样例2：
169
*/
int main()
{
    std::cout << "Hello World!\n";
}

 